home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_xmllib.py < prev    next >
Text File  |  2005-10-18  |  1KB  |  52 lines

  1. '''Test module to thest the xmllib module.
  2.    Sjoerd Mullender
  3. '''
  4.  
  5. testdoc = """\
  6. <?xml version="1.0" encoding="UTF-8" standalone='yes' ?>
  7. <!-- comments aren't allowed before the <?xml?> tag,
  8.      but they are allowed before the <!DOCTYPE> tag -->
  9. <?processing instructions are allowed in the same places as comments ?>
  10. <!DOCTYPE greeting [
  11.   <!ELEMENT greeting (#PCDATA)>
  12. ]>
  13. <greeting>Hello, world!</greeting>
  14. """
  15.  
  16. nsdoc = "<foo xmlns='URI' attr='val'/>"
  17.  
  18. import warnings
  19. warnings.filterwarnings("ignore", ".* xmllib .* obsolete.*",
  20.                         DeprecationWarning, r'xmllib$')
  21.  
  22. from test import test_support
  23. import unittest
  24. import xmllib
  25.  
  26. class XMLParserTestCase(unittest.TestCase):
  27.  
  28.     def test_simple(self):
  29.         parser = xmllib.XMLParser()
  30.         for c in testdoc:
  31.             parser.feed(c)
  32.         parser.close()
  33.  
  34.     def test_default_namespace(self):
  35.         class H(xmllib.XMLParser):
  36.             def unknown_starttag(self, name, attr):
  37.                 self.name, self.attr = name, attr
  38.         h=H()
  39.         h.feed(nsdoc)
  40.         h.close()
  41.         # The default namespace applies to elements...
  42.         self.assertEquals(h.name, "URI foo")
  43.         # but not to attributes
  44.         self.assertEquals(h.attr, {'attr':'val'})
  45.  
  46.  
  47. def test_main():
  48.     test_support.run_unittest(XMLParserTestCase)
  49.  
  50. if __name__ == "__main__":
  51.     test_main()
  52.